#include <REGX52.H>

// 注：这里用定时器实现闪烁效果，我觉得验收会问到，定时器课上应该会教
// main函数里面有用到，这里不写示例了

/*******************************************************************************
 * 函 数 名     : 定时器0初始化，1毫秒@12.000MHz
 * 函数功能		 : 初始化
 *******************************************************************************/
void Timer0Init(void)
{
	TMOD &= 0xF0; // 设置定时器模式
	TMOD |= 0x01; // 设置定时器模式
	TL0 = 0x18;	  // 设置定时初值
	TH0 = 0xFC;	  // 设置定时初值
	TF0 = 0;	  // 清除TF0标志
	TR0 = 0;
	ET0 = 1;
	EA = 1;
	PT0 = 0;
}

// 启动定时器0
void Timer0start(void)
{
	TR0 = 1;
}

// 停止定时器0
void Timer0stop(void)
{
	TR0 = 0;
}

void Timer1Init(void)
{
	TMOD &= 0x0F; // 设置定时器模式
	TMOD |= 0x10; // 设置定时器模式
	TL1 = 0x18;	  // 设置定时初值
	TH1 = 0xFC;	  // 设置定时初值
	TF1 = 0;	  // 清除TF1标志
	TR1 = 1;	  // 直接启动
	ET1 = 1;
	EA = 1;
	PT1 = 1;
}

/*定时器中断函数模板
void Timer0_Routine() interrupt 1
{
	static unsigned int T0Count;
	TL0 = 0x18;		//设置定时初值
	TH0 = 0xFC;		//设置定时初值
	T0Count++;
	if(T0Count>=1000)
	{
		T0Count=0;

	}
}
*/
